home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Environments / PowerMacOberon feb96 / Source / Printer.Mod (.txt) < prev    next >
Oberon Text  |  1995-12-18  |  3KB  |  76 lines

  1. Syntax10.Scn.Fnt
  2. StampElems
  3. Alloc
  4. 18 Dec 95
  5. MODULE Printer; (*mf 15.1.93 / mah 
  6.     IMPORT
  7.         Kernel, Macintosh, Oberon, Sys, SYS := SYSTEM;
  8.         res*: INTEGER;
  9.         PageWidth*, PageHeight*: INTEGER;
  10.         curR, curG, curB: INTEGER;                    (* current colors *)
  11.         RGBForeColor: PROCEDURE (rgb: Sys.RGBColor);
  12.     PROCEDURE Open*(VAR name, user: ARRAY OF CHAR; password: LONGINT);
  13.         VAR cmd: ARRAY 32 OF CHAR;
  14.     BEGIN
  15.         IF name="QuickDraw" THEN cmd:="QuickDrawPrinter.Install"
  16.         ELSIF name="PostScript" THEN cmd:="PostScriptPrinter.Install"
  17.         ELSIF name="Out.Prt" THEN cmd:="DummyPrinter.Install"
  18.         ELSE cmd:="NetworkPrinter.Install" END;
  19.         Oberon.Call(cmd, Oberon.Par, FALSE, res);
  20.         IF res=0 THEN Macintosh.prOpen(name, user, password) END
  21.     END Open;
  22.     PROCEDURE UseColor* (red, green, blue: INTEGER);
  23.     VAR rgb: Sys.RGBColor;
  24.     BEGIN
  25.         IF (red # curR) OR (green # curG) OR (blue # curB) THEN
  26.             curR := red; curG := green; curB := blue;
  27.             rgb.red := red*101H;
  28.             rgb.green := green*101H;
  29.             rgb.blue := blue*101H;
  30.             RGBForeColor (rgb)
  31.         END
  32.     END UseColor;
  33.     PROCEDURE Close*;
  34.     BEGIN Macintosh.prClose
  35.     END Close;
  36.     PROCEDURE Page*(nofcopies: INTEGER);
  37.     BEGIN 
  38.         curR := 0; curG := 0; curB := 0; 
  39.         Macintosh.prPage(nofcopies)
  40.     END Page;
  41.     PROCEDURE Circle*(x0, y0, r: INTEGER);
  42.     BEGIN Macintosh.prCircle(x0, y0, r)
  43.     END Circle;
  44.     PROCEDURE Ellipse*(x0, y0, a, b: INTEGER);
  45.     BEGIN Macintosh.prEllipse(x0, y0, a, b)
  46.     END Ellipse;
  47.     PROCEDURE Line*(x0, y0, x1, y1: INTEGER);
  48.     BEGIN Macintosh.prLine(x0, y0, x1, y1)
  49.     END Line;
  50.     PROCEDURE Spline*(x0, y0, n, open: INTEGER; VAR X, Y: ARRAY OF INTEGER);
  51.     BEGIN Macintosh.prSpline(x0, y0, n, open, X, Y)
  52.     END Spline;
  53.     PROCEDURE Picture*(x, y, w, h, mode: INTEGER; adr: LONGINT);
  54.     BEGIN Macintosh.prPicture(x, y, w, h, mode, adr)
  55.     END Picture;
  56.     PROCEDURE ReplConst*(x, y, w, h: INTEGER);
  57.     BEGIN Macintosh.prReplConst(x, y, w, h)
  58.     END ReplConst;
  59.     PROCEDURE ReplPattern*(x, y, w, h, col: INTEGER);
  60.     BEGIN Macintosh.prReplPattern(x, y, w, h, col)
  61.     END ReplPattern;
  62.     PROCEDURE String*(x, y: INTEGER; VAR s: ARRAY OF CHAR; VAR fname: ARRAY OF CHAR);
  63.     BEGIN Macintosh.prString(x, y, s, fname)
  64.     END String;
  65.     PROCEDURE ContString*(VAR s, fname: ARRAY OF CHAR);
  66.     BEGIN Macintosh.prContString(s, fname)
  67.     END ContString;
  68.     PROCEDURE UseListFont*(VAR name: ARRAY OF CHAR);
  69.     BEGIN Macintosh.prUseListFont(name)
  70.     END UseListFont;
  71. BEGIN Sys.Assign ("RGBForeColor", SYS.ADR (RGBForeColor));
  72.     Macintosh.cmdName:="NetworkPrinter.Install"; Macintosh.cmdQ.Handle ();
  73.     IF Macintosh.qRes#0 THEN Macintosh.cmdName:="PostScriptPrinter.Install"; Macintosh.cmdQ.Handle () END;
  74.     IF Macintosh.qRes#0 THEN Macintosh.cmdName:="QuickDrawPrinter.Install"; Macintosh.cmdQ.Handle () END
  75. END Printer.
  76.